class Bloque ():
    #INICIALIZACION
    
    ###constructor
    def __init__(self, dirInicio, dirFin):
        self.dirInicio = dirInicio
        self.dirFin = dirFin
        self.capacidad = self.dirFin - self.dirInicio
        self.ocupante = None

###############################################################################################################

    #METODOS
    def redimencionarBloque (self, program):
        desplazamiento = self.dirInicio + program.lenCodigo()
        ocupado = Bloque (self.dirInicio, desplazamiento)
        libre = Bloque (desplazamiento+1, self.dirFin)
        return (ocupado, libre)
    
###############################################################################################################

    #GET&SET
    def getOcupante (self):
        return self.ocupante#is a program
    def getCapacidad (self):
        return self.capacidad# is a number
    def getDirFin (self):
        return self.dirFin
    def getDirInicio (self):
        return self.dirInicio
    def setOcupante (self, prog): 
        self.ocupante= prog